Automatic drive icon assignment by media type in single slot USB card readers

ABSTRACT

In various embodiments, icons, specific to a type of memory card (e.g., a flash memory card) inserted into a card reader may be displayed. In some embodiments, the card reader may be electrically connected to the host controller each time a memory card is inserted into the card reader. In various embodiments, different device identifications may be reported as if the card reader were actually several different card readers each dedicated to a different memory card type. A registry of an operating system may be preloaded with a different icon for each of the different card reader types. An icon may be displayed on a display specific to the type of memory card inserted. When the memory card is removed, the card reader may be electrically disconnected and the displayed icon may be removed or replaced.

BACKGROUND OF THE INVENTION

1. Field of the Invention

This invention relates generally to computer systems and, moreparticularly, to card readers.

2. Description of the Related Art

In recent years the electronics marketplace has seen a proliferation ofappliances and personal electronics devices that use solid-state memory.For example, traditional film cameras have been losing market share todigital cameras capable of recording images that may be directlydownloaded to and stored on personal computers (PCs). The picturesrecorded by digital cameras can easily be converted to common graphicsfile formats such as Joint Photographic Experts Group (JPEG), GraphicInterchange Format (GIF) or Bitmap (BMP), and sent as e-mail attachmentsor posted on web pages and online photo albums. Many digital cameras arealso capable of capturing short video clips in standard digital videoformats, for example Moving Picture Experts Group (MPEG), which may alsobe directly downloaded and stored on personal computers (PCs) ornotebook computers. Other devices that typically use solid-state memoryinclude personal digital assistants (PDAs), pocket PCs, video gameconsoles and Moving Picture Experts Group Layer-3 Audio (MP3) players.

The most widely used solid-state memory devices include flash-memorychips configured on a small removable memory card, and are commonlyreferred to as flash-memory cards. The majority of flash-memory cardscurrently on the market are typically one of: Compact Flash™,MultiMediaMemory™ memory card (MMC) and the related Secure DigitalMemory card (SD), SmartMedia™ memory card (SM), xD Picture Cards™ (xD),and Memory Stick™. Most digital cameras, for example, use Compact Flash™memory cards to record images. Many PDA models use Memory Stick™ memorycards to hold data. Some MP3 players store music files on SM memorycards. Generally, data saved by PDAs and other handheld devices usingflash-memory cards are also transferred or downloaded to a PC. In thepresent application, the term “flash-memory” is intended to have thefull breadth of its ordinary meaning, which generally encompassesvarious types of non-volatile solid-state memory devices.

Typically, a flash-memory card can easily be removed from the utilizingdevice. For example, a Compact Flash™ memory card can be removed from adigital camera much like film is removed from a standard camera. Theflash-memory card can then be inserted into an appropriate flash-memorycard reader hooked up to a PC, and the image files directly copied tothe PC. It should be noted that while a majority of smaller hand-heldcomputers and PDAs have slots that receive Compact Flash™ memory cards,most PCs do not, hence the need for a flash-memory card readerconnecting to the PC. Most recently the preferred interface betweenflash-memory card readers and PCs has been the Universal Serial Bus(USB), where the flash-memory card reader is connected to a USB port onthe PC via a USB cable. Portable computer or notebook PCs typically alsohave PC-memory card (earlier known as Personal Computer Memory cardInternational Association; PCMCIA) slots that can receive PCMCIA memorycards configured as flash-memory card readers.

In all, the many different memory card formats present a wide array ofinterface requirements not only for PCs but for other digital systems aswell, such as embedded systems. Different adapters are needed for eachof the memory card formats. One solution to consolidate the interfacingof flash-memory cards to desktop and portable computer PCs has been thedesign and manufacture of multi-format flash-memory card readers thatare capable of reading the most popular formats. Such memorycard-readers are sometimes referred to as ‘Seven-in-one’ readersindicating that they may be used with the currently popular flash-memorycard formats. As indicated above, such multi-format card readers aretypically designed with a USB interface. USB based systems require thata USB host controller be present in the host system, and that theoperating system (OS) of the host system support USB and USB MassStorage Class Devices. In addition, screen icons and text for these cardreaders do not indicate what type of card is currently in the cardreader.

SUMMARY OF THE INVENTION

In various embodiments, a system may display an icon, specific to a typeof memory card inserted into a card reader. Data may be read from amemory card in a memory card slot for use by a central processing unit(CPU). Card readers, for example, multi-format flash-memory cardreaders, may be used to read data from various types of memory cards.

In some embodiments, a memory card may be inserted into a card reader.In response, the card reader may be electrically connected to the hostcontroller. In some embodiments, a device identification, such as, butnot limited to, a USB Product ID, may be reported to the host controllerfor the card reader. The device identification may be specific to thetype of memory card inserted into the card reader. For example,different device identifications may be reported as if the card readerwere actually several different card readers each dedicated to adifferent memory card type. In some embodiments, a registry of anoperating system may be preloaded with a different icon for each of thedifferent card reader types. When the device identification is reported,an icon matching the specific type of memory card may be determined. Insome embodiments, an icon may be displayed on a screen. Text may also bedisplayed proximate to the icon to further identify the type of memorycard inserted. As used herein, “proximate” may refer to displaying textsufficiently close to the icon such that a user understands thecorrespondence between the two.

In some embodiments, when a memory card is removed from a card reader,the card reader may be electrically disconnected from the hostcontroller. When the card reader is electrically disconnected from thehost controller, the icon may be removed from the display. In someembodiments, an empty card reader icon may be displayed in place of theicon to indicate the card reader is empty. The text next to the icon mayalso be changed or removed to reflect the new status.

BRIEF DESCRIPTION OF THE DRAWINGS

The foregoing, as well as other objects, features, and advantages ofthis invention may be more completely understood by reference to thefollowing detailed description when read together with the accompanyingdrawings in which:

FIG. 1 illustrates a portable computer for various embodiments;

FIG. 2 is a block diagram of a computer, according to one embodiment.

FIG. 3 illustrates a diagram of a card reader coupled to a hostcontroller, according to an embodiment;

FIGS. 4 a, 4 b, 4 c, and 4 d illustrate embodiments of icons displayedspecific to a type of memory card in a card reader;

FIG. 5 is a flowchart of a method for displaying an icon specific to amemory card inserted into a card reader, according to an embodiment; and

FIG. 6 is a flowchart of a method for removing an icon from a displayand electrically disconnecting a card reader, according to anembodiment.

While the invention is susceptible to various modifications andalternative forms, specific embodiments thereof are shown by way ofexample in the drawings and will herein be described in detail. Itshould be understood, however, that the drawings and detaileddescription thereto are not intended to limit the invention to theparticular form disclosed, but on the contrary, the intention is tocover all modifications, equivalents, and alternatives falling withinthe spirit and scope of the present invention as defined by the appendedclaims. Note, the headings are for organizational purposes only and arenot meant to be used to limit or interpret the description or claims.Furthermore, note that the word “may” is used throughout thisapplication in a permissive sense (i.e., having the potential to, beingable to), not a mandatory sense (i.e., must).” The term “include”, andderivations thereof, mean “including, but not limited to”. The term“coupled” means “directly or indirectly connected”.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

FIG. 1 illustrates a portable computer, e.g., a laptop, which mayimplement various embodiments of the invention. Embodiments of theinvention may be used with various different types of systems ofcomputers, and portable computer 101 is one exemplary embodiment.

In some embodiments, card readers 113 may be used to read data fromvarious types of memory cards (e.g., flash memory cards). It is to beunderstood that the term “card reader” as used herein applies to anyremovable storage medium device and the term “card” as used hereinrefers to applicable storage media. The card reader 113 may be internalto the computer 101 or may be an external device coupled to the computer101 through an available port. For example, the card reader may becoupled to the portable computer 101 through one or more UniversalSerial Bus (USB) ports 103. The USB ports may be on the portablecomputer 101 or on a docking station (not shown) coupled to the portablecomputer 101. A USB connector 109 may plug into a USB port 103 to couplea device (e.g., a mouse 111 or an external card reader) to the portablecomputer 101.

In some embodiments, the portable computer 101 may be used with otherperipheral devices such as, but not limited to, a computer mouse 111,scanners, printers, external memory devices, cameras, personal digitalassistants (PDAs), keyboards, touchscreens, and joysticks. Otherperipheral devices are also contemplated. In addition, a hub (not shown)may be coupled to a USB port 103 of the portable computer 101 to provideadditional USB ports for additional peripheral devices. Icons resemblingdifferent devices coupled to the computer may be shown on the display115 for user access.

In some embodiments, a host controller may regulate communication withconnected USB devices such as a card reader. For example, the hostcontroller may schedule bandwidth on the serial bus. Communicationspeeds with the USB devices coupled to the host controller may includelow speed (LS), full speed (FS), and high speed (HS). In someembodiments, the host controller may detect a card reader or other USBdevice as it is connected to a USB port, interrogate the USB device(e.g., to find out what speed to use for communication with the deviceand device capabilities), and load a driver to support the USB device.USB devices may communicate with the host controller using control,interrupt, bulk, and isochronous transfers. While the USB device may bepowered over the USB bus, some USB devices may be self powered. When aUSB device is unplugged from a USB port 103, the host controller maydetect the absence of the USB device and unload the driver. In someembodiments, a USB device may be connected or unconnected from a USBport 103 without restarting the computer.

FIG. 2 is a block diagram of one embodiment of a computer 101. In someembodiments, north bridge 205 (an integrated chip) couples a centralprocessing unit (CPU) 203 and system memory 201 to a peripheralcomponent interconnect (PCI) bus 207 (used to connect peripherals to thecomputer). South bridge 209 may couple the PCI bus 207. In someembodiments, the south bridge 209 may include a USB host controller 211to communicate through a USB port 213 with a USB device 215. The USBport 213 and USB device 215 may be internal or external to the computer.In some embodiments, the USB host controller 211 may provide aperipheral bus interface between the USB device 215 and the computer.

FIG. 3 illustrates an embodiment of a card reader 301 coupled to hostcontroller 211. In some embodiments, the card reader 301 may communicatewith host controller 211 through an upstream port 305. The card reader301 may use a controller 325 and a physical interface 303 to assist inreading, writing, and transferring data to the memory card 309. Thememory card 309 may be inserted into the card reader 301 through memorycard slot 307. In some embodiments, the data from the memory card 309may be used by a CPU 203. In some embodiments, the memory card 309 maybe a SmartMedia™ (SM) memory card, xD Picture Cards™ (xD), a MemoryStick™, a High Speed Memory Stick (HSMS), a Memory Stick PRO™ (MSPRO), aSecure Digital (SD) memory card, a MultiMediaMemory™ memory card (MMC),NAND Flash, Compact Flash™ (CF) or a CF form-factor Advanced TechnologyAttachment (ATA) hard drive. In various embodiments, a cable from anupstream port 305 may carry a power line 321, ground 324, and a pair ofdata lines 322, 323 (D+ and D−) to transfer data between the card reader301 and the computer. In some embodiments, the D+ and D− lines (322,323)may interact with the physical interface 303 through an attachmentindicator mechanism 302.

FIGS. 4 a, 4 b, 4 c, and 4 d illustrate embodiments of icons displayedspecific to types of memory cards in a card reader. FIG. 4 a illustratesan embodiment of a menu screen 401 showing available memory mediums fora computer. In some embodiments, a menu screen 401 may have sections todisplay types of hard disks 403 and types of removable storage 409. Insome embodiments, the hard disk section 403 may include a C drive 405and a D drive 407. In one embodiment, the C drive and D drive may havesimilar icons 404 and 406 because each is a hard drive accessible by thecomputer. In some embodiments, the C drive and D drive may havedifferent icons. Removable storage icons (e.g., floppy disk 411, CompactDisc (CD) drive 413, Digital Versatile Disc (DVD) drive 415, and cardreader 417) may be displayed in the removable storage section 409. Insome embodiments, an icon and text may not be displayed for a cardreader if the card reader does not have a card. In some embodiments, anicon 419 may indicate that the card reader is empty. In addition, text417 next to the empty card reader icon 419 may also indicate that thecard reader is empty (e.g., by displaying “(empty)”).

As seen in FIG. 4 b, if an HSMS™ memory card is inserted into the cardreader, an HSMS™ icon 421 may be displayed. In some embodiments, text422 may be displayed proximate to the icon 421 to indicate the type ofmemory card. For example, text 422 may read “HSMS™”. Different icons anddifferent text are also contemplated. In addition, other menu screenstyles may be used. Furthermore, icons and text for the memory cards maybe used in other locations on the computer. For example, icons and textspecific to the type of memory card in the card reader may be displayedin application specific save screens.

As seen in FIG. 4 c, if an MSPRO™ memory card is inserted, an icon 423specific to the MSPRO™ may be displayed. Text 424 may also be displayedto further indicate the type of memory card. As seen in FIG. 4 d, text426 may be displayed below the icon 425 to indicate the type of memorycard in the card reader (e.g., “MMC™”). In various embodiments, the text426 may be displayed in other locations. For example, the text may bedisplayed above or to the left of the icon 425.

FIG. 5 is a flowchart of an embodiment for displaying an icon specificto a memory card inserted into a card reader. It should be noted that invarious embodiments of the methods described below, one or more of thesteps described may be performed concurrently, in a different order thanshown, or may be omitted entirely. Other additional steps may also beperformed as desired.

At 501, a memory card may be inserted into a card reader. For example,the memory card may be inserted into a multi-format flash memory cardreader. The card reader may be coupled to a computer to transfer databetween the memory card and the computer.

At 503, the card reader may be electrically connected to the hostcontroller. When the card is inserted into the card reader, the cardreader may pull the D+ line 322 high to approximately 3.3 volts using apull up resistor on the D+ line. The host controller may then detect thepresence of the card reader on the bus and reset the card reader. Forhigh speed devices, during reset, the device, such as a high speed cardreader, “chirps” by driving the D− line. The host controller responds byalternately driving the D+ and D− lines. When the high speed devicedetects the alternating chirps, the high speed device electricallyremoves the pull up resistor to balance the line and then continuescommunicating at high speed.

At 505, a device identification may be reported to the host controller(e.g., a USB Product ID). In some embodiments, each time a card isinserted or removed, the card reader may be electricallyconnected/disconnected, because when the card reader connects, the cardreader may send a vender identification (VID) and a productidentification (PID) to the host controller that identifies a type ofmemory card inserted. The VID/PID device identification may be specificto the type of memory card inserted into the card reader. Differentdevice identifications may be reported to the host controller as if thecard reader were actually several different card readers each dedicatedto a different memory card type. In some embodiments, a registry on thecomputer may be preloaded with the different VID/PID identifications andthere respective icons. In some embodiments, the VID/PID may be sentwithout electrically disconnecting/reconnecting the card reader. Forexample, when a card is inserted into the card reader, a new VID/PID (orsome other identifying information) may be sent from the card readerwithout having to reconnect the card reader.

At 507, an icon may be displayed on a display coupled to the computer.In some embodiments, text may also be displayed, relative to the icon,to further identify the type of memory card inserted. For example, atype (or acronym for the type) of memory card may be displayed next tothe memory card icon.

FIG. 6 is a flowchart of an embodiment for removing an icon from adisplay and electrically disconnecting a card reader when a memory cardis removed from the card reader. It should be noted that in variousembodiments of the methods described below, one or more of the stepsdescribed may be performed concurrently, in a different order thanshown, or may be omitted entirely. Other additional steps may also beperformed as desired.

At 601, a memory card may be removed from a card reader. In someembodiments, a user may pull the memory card out of a memory card slotof the card reader.

At 603, the card reader may optionally be electrically disconnected froma host controller. For full speed devices, the pull up resistor iselectrically removed (i.e., set to a high impedance or “tri-stated”)from the D+ line. The host controller may interpret this as adisconnect. For high speed devices, the D+ and D− lines may be set to ahigh impedance (i.e., tri-stated). In some embodiments, electricallydisconnecting the card reader may also serve to reduce power consumptioncaused by the card reader. In another embodiment, the card reader maygenerally remain electrically connected to the USB host controller, andstep 603 may not be performed.

At 605, an icon, specific to the type of memory card, may be removedfrom a display. In some embodiments, the empty card reader icon may bedisplayed after the icon specific to the type of memory card is removed.In some embodiments, an empty card reader icon may not be displayed.

As used herein, a memory medium may include any of various types ofmemory devices or storage devices. The term “memory medium” is intendedto include an installation medium, e.g., a CD-ROM, floppy disks 104, ortape device; a computer system memory or random access memory such asDRAM, DDR RAM, SRAM, EDO RAM, Rambus RAM, etc.; or a non-volatile memorysuch as a magnetic media, e.g., a hard drive, or optical storage. Thememory medium may comprise other types of memory as well, orcombinations thereof. In addition, the memory medium may be located in afirst computer in which the programs are executed, or may be located ina second different computer which connects to the first computer over anetwork, such as the Internet. In the latter instance, the secondcomputer may provide program instructions to the first computer forexecution. The term “memory medium” may include two or more memorymediums which may reside in different locations, e.g., in differentcomputers that are connected over a network. In addition, as usedherein, a carrier medium—a memory medium as described above, as well assignals such as electrical, electromagnetic, or digital signals,conveyed via a communication medium such as a bus, network and/or awireless link. The computer system 101 may include a memory medium(s) onwhich one or more computer programs or software components according toone embodiment of the present invention may be stored. For example, thememory medium may comprise a read only memory or programmable read onlymemory such as an EEPROM or flash memory that stores a software program(e.g., firmware) that is executable to perform the methods describedherein. Various embodiments further include receiving or storinginstructions and/or data implemented in accordance with the foregoingdescription upon a carrier medium.

Further modifications and alternative embodiments of various aspects ofthe invention may be apparent to those skilled in the art in view ofthis description. Accordingly, this description is to be construed asillustrative only and is for the purpose of teaching those skilled inthe art the general manner of carrying out the invention. It is to beunderstood that the forms of the invention shown and described hereinare to be taken as the presently preferred embodiments. Elements andmaterials may be substituted for those illustrated and described herein,parts and processes may be reversed, and certain features of theinvention may be utilized independently, all as would be apparent to oneskilled in the art after having the benefit of this description of theinvention. Changes may be made in the elements described herein withoutdeparting from the spirit and scope of the invention as described in thefollowing requests.

1. A system, comprising: a processor; a display coupled to theprocessor; a host controller coupled to the processor; a card readercoupled to the host controller; and wherein an icon is displayed on thedisplay specific to a type of memory card inserted into the card reader.2. The system of claim 1, wherein the card reader is electricallyconnected to the host controller when a memory card is inserted into thecard reader.
 3. The system of claim 1, wherein the card reader iselectrically disconnected from the host controller when a memory card isremoved from the card reader.
 4. The system of claim 1, wherein the cardreader reports a device identification specific to the type of memorycard inserted into the card reader.
 5. The system of claim 4, furthercomprising a registry preloaded with an icon specific to the deviceidentification reported.
 6. The system of claim 4, wherein a card readeris operable to report at least two different device identificationsspecific to two different types of memory cards.
 7. The system of claim6, wherein at least two different icons are displayable on the displayspecific to at least two different memory card types.
 8. The system ofclaim 1, wherein the memory card comprises one of a SmartMedia™ (SM)memory card, xD Picture Cards™ (xD), a Memory Stick™, a High SpeedMemory Stick (HSMS), a Memory Stick PRO™ (MSPRO), a Secure Digital (SD)memory card, a MultiMediaMemory™ memory card (MMC), NAND Flash, CompactFlash™ (CF) or a CF form-factor Advanced Technology Attachment (ATA)hard drive.
 10. The system of claim 1, wherein text indicative of thememory card type is displayed proximate to the icon.
 11. The system ofclaim 1, wherein the card reader is a single slot card reader.
 12. Amethod, comprising: electrically connecting a card reader to a hostcontroller when a memory card is inserted into the card reader;reporting a device identification, to the host controller, specific tothe type of memory card inserted into the card reader; and displaying anicon on a display coupled to the host controller, wherein the icon isspecific to the device identification reported.
 13. The method of claim12, further comprising electrically disconnecting the card reader if thememory card is removed.
 14. The method of claim 13, further comprisingremoving an icon from the display when the card reader is electricallydisconnected.
 15. The method of claim 13, further comprising displayingan empty card reader icon on the display.
 16. The method of claim 12,further comprising receiving an icon indication for display from aregistry coupled to the processor.
 17. The method of claim 16, whereinthe registry has at least two icon types preloaded, wherein each of theat least two icons is specific to a different type of memory card. 18.The method of claim 12, wherein the memory card comprises one of aSmartMedia™ (SM) memory card, xD Picture CardS™ (xD), a Memory Stick™, aHigh Speed Memory Stick (HSMS), a Memory Stick PRO™ (MSPRO), a SecureDigital (SD) memory card, a MultiMediaMemory™ memory card (MMC), NANDFlash, Compact Flash™ (CF) or a CF form-factor Advanced TechnologyAttachment (ATA) hard drive.
 19. The method of claim 12, wherein thecard reader is a single slot card reader.
 20. The method of claim 12,wherein the icon is displayed in a menu of available storage mediaaccessible by the processor.
 21. The method of claim 12, furthercomprising displaying text indicative of the memory card type relativeto the icon.
 22. The method of claim 12, further comprising reporting adevice identification when memory card is inserted into the card readerwithout having to reconnect the card reader.
 23. A carrier mediumcomprising program instructions, wherein the program instructions areexecutable to: electrically connect a card reader to a host controllerwhen a memory card is inserted into the card reader; receive a deviceidentification, from the host controller, specific to the type of memorycard inserted into the card reader; and display an icon on a display,wherein the icon is specific to the device identification reported. 24.The carrier medium of claim 23, wherein the program instructions arefurther executable to electrically disconnect the card reader if thememory card is removed.
 25. The carrier medium of claim 23, wherein theprogram instructions are further executable to receive an iconindication for display from a registry of an operating system for aprocessor coupled to the host controller.
 26. The carrier medium ofclaim 23, wherein the registry has at least two icon types preloaded,wherein each of the at least two icons is specific to a different typeof memory card.
 27. The carrier medium of claim 23, wherein the icon isdisplayed in a menu of available storage media accessible by theprocessor.
 28. The carrier medium of claim 23, wherein the programinstructions are further executable to report a device identificationwhen memory card is inserted into the card reader without having toreconnect the card reader.